package com.jlu.utils;

import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.Persistence;

public class JpaUtil {

  /*
  解决实体管理器工厂的浪费资源和耗时问题
  通过静态代码块的形式，当程序第一次访问此工具类时，创建一个公共的实体管理器工厂对象
  第一次访问getEntityManager方法，经过静态代码块创建一个factory对象，再调用方法创建一个Entitywanager对象
  第二次方法getEntityManager方法。直接通过一个已经创建好的factory对象，创建EntityManager对象

   */

  private static EntityManagerFactory entityManagerFactory;

  //1.加就配置文件,创建entityManagerFactory
  static {
    entityManagerFactory = Persistence.createEntityManagerFactory("myJpa");
  }

  //获取EntityManager对象
  public static EntityManager getEntityManagerFactory(){
    return entityManagerFactory.createEntityManager();
  }
}
